from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 定义SQLite数据库的URL
# ./todos.db 表示在项目根目录下创建一个名为 todos.db 的文件
SQLALCHEMY_DATABASE_URL = "sqlite:///./todos.db"

# 创建SQLAlchemy引擎
# connect_args={"check_same_thread": False} 是SQLite特有的配置，允许多线程访问
engine = create_engine(
    SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
)

# 创建一个数据库会话工厂
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

# 创建一个Base类，我们创建的ORM模型将继承这个类
Base = declarative_base()